From: Andrew Cooper Date: Mon, 25 Nov 2013 11:12:51 +0000 (+0000) Subject: tools/libxl: Fix integer overflows in sched_sedf_domain_set() X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~5871 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=9c01516fee7d548af58fd310d3c93dd71ea9ea28;p=xen.git tools/libxl: Fix integer overflows in sched_sedf_domain_set() Coverity ID: 1055662 1055663 1055664 Widen from int to uint64_t before multiplcation, rather than afterwards. Signed-off-by: Andrew Cooper CC: Ian Campbell CC: Ian Jackson --- diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 6263d14242..2b847eff88 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -4924,11 +4924,11 @@ static int sched_sedf_domain_set(libxl__gc *gc, uint32_t domid, } if (scinfo->period != LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT) - period = scinfo->period * 1000000; + period = (uint64_t)scinfo->period * 1000000; if (scinfo->slice != LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT) - slice = scinfo->slice * 1000000; + slice = (uint64_t)scinfo->slice * 1000000; if (scinfo->latency != LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT) - latency = scinfo->latency * 1000000; + latency = (uint64_t)scinfo->latency * 1000000; if (scinfo->extratime != LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT) extratime = scinfo->extratime; if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)